#pragma once

#include <map>
#include "Enum.h"

class Item;

class Equipment {
friend class Character;
protected:
	std::map<EquipmentLocation, Item*> m_equipment;
	bool equip(EquipmentLocation location, Item* item);
	bool unequip(EquipmentLocation location);
public:
	Equipment();
	~Equipment();
	Item* get(EquipmentLocation location) const;
	bool isEquipped(EquipmentLocation location) const;
	EquipmentLocation whereEquipped(Item* item) const;
	void unequipAll();
};

inline Item* Equipment::get(EquipmentLocation location) const {return m_equipment.at(location);}